草庐IT

java - JUnit测试类顺序

全部标签

javascript - 表单机器人反制测试

我是一个网站的Web开发人员,该网站偶尔会受到表单机器人的困扰。最近,我收到了一个错误通知,指出表单提交存在问题,人类用户应该无法提交。您无法在未启用JavaScript的情况下提交表单,但服务器端脚本收到了JavaScript验证不允许的表单字段值。我怀疑表单机器人在没有运行JavaScript的情况下设法提交了表单,但我不完全确定这是问题所在,因为真实用户遇到了类似的问题。我知道如何使用蜜jar字段作为表单机器人的对策,但我需要测试我的对策。因此,我需要一个有效的表单机器人来攻击我的表单,这样我就可以看到结果是什么,并验证我的对策是否有效。我认为您可以使用PHP和Curl来提交We

JavaScript 事件处理程序执行顺序

拥有这段JS代码:document.getElementById('e1').addEventListener('click',function(){alert('1');},false);document.getElementById('e2').addEventListener('click',function(){alert('2');},false);document.getElementById('e1').click();document.getElementById('e2').click();我想知道警报将以什么顺序显示-是按照click()触发事件的顺序还是随机显示?

javascript - 混合客户端/服务器端测试

我应该如何构建混合了Selenium代码(用于设置页面)和客户端Mocha代码(用于在被测试的客户端JS上实际执行测试)的测试?我正在测试客户端javascript库。单元测试适用于Karma、Mocha和Grunt。单元测试可以在本地运行,也可以通过SauceLabs运行。单元测试基本上能够测试直到实际提交文件的所有部分。这部分需要浏览器自动化和/或手动交互,这正是我正在努力解决的问题。有问题的库是一个Javascript文件上传库。它具有分块、自动恢复等功能。它不需要jQuery,并且适用于各种浏览器(IE7-10、FF、Safari(Mac和iOS)、Chrome、Android

javascript - 混合 $q 和 ES6 promise 时测试 Angular

我遇到一个问题,我的代码混合了ES6Promises和AngularPromises,并且它在生产中工作,因为我无法编写通过的单元测试。此代码片段演示了Jasmine单元测试失败的两个实例,但代码在生产中运行良好://Anangular$qpromisevarf1=function(){return$q(function(resolve,reject){resolve('Thisisfunction1!');});}//AnES6promisevarf2=function(){returnnewPromise(function(resolve,reject){resolve('This

javascript - 有没有办法在 super 测试中设置默认值?

我正在使用supertest模块来测试我的RestAPI。我的API一直发送JSON。所以我正在为所有和每个测试做.expect('Content-Type',/json/)!我一次又一次地重复!这是我的一些代码it('shouldlistALLpermissionson/permissionsGET',(done)=>{request(app).get(permissionsURL).expect(200).expect('Content-Type',/json/).end((err,res)=>{varpermissions=res.body;permissions.should.

javascript - 是什么决定了使用 promises 或 setTimeout 的延迟函数的调用顺序?

延迟函数的执行,例如在自定义事件处理中,是JavaScript中的一种常见模式(参见,例如here)。过去使用setTimeout(myFunc,0)是唯一的方法,但是有了promises现在有一个替代方法:Promise.resolve().then(myFunc)。我原以为它们几乎可以做同样的事情,但是在处理包含自定义事件的库时,我想我会发现是否存在差异,所以我将以下block放入Node中:varlogfn=function(v){returnfunction(){console.log(v)}};setTimeout(logfn(1),0);Promise.resolve().

javascript - 单元测试 : Number. toLocaleString()

我本以为(10000).toLocaleString('de-DE')会返回"10.000"但我却得到了"10000".是否有不支持的原因?有没有更好的方法来格式化数字? 最佳答案 这是一个webkit问题,PhantomJS不想保持国际化......所以不幸的是我们在一段时间内一直坚持这个问题。https://github.com/ariya/phantomjs/issues/12581我最终做的是编写一个自定义匹配器来检查两者,因为我在Chrome和PhantomJS中运行。jasmine.addMatchers({isAnyO

javascript - 如何在 Vue.js 中测试计算属性?无法模拟 "data"

我想知道如何在Vue.js的单元测试中测试计算属性。我已经通过vue-cli(基于webpack)创建了一个新项目。例如这是我的组件:exportdefault{data(){return{source:[]}},methods:{removeDuplicates(arr){return[...newSet(arr)]}},computed:{types(){returnthis.removeDuplicates(this.source))}}}我试过这样测试it('shouldremoveduplicatesfromarray',()=>{constarr=[1,2,1,2,3]co

javascript - 使用 react-router v4、Jest 和 Enzyme 测试组件

我有一个使用react-router的简单组件(我知道这是alpha版本):{props.app&&props.app.health&&}建议在中包装的文档在测试时为组件提供上下文。但是,使用Jest/Enzyme我无法shallow()渲染-我必须使用enzyme的mount()或render(),这会导致问题,因为HomeLogin是一个连接的组件-我希望能够测试我的组件是否呈现正确的内容,但不测试其中呈现的组件。我的测试:it('Rendersbaseduponmatchedroute',()=>{letprops={app:{health:true},};constcompon

javascript - 在多个文件中拆分 mocha API 测试

我正在为我正在构建的产品构建一些API测试。其中一个测试如下所示:GETFILTERS✓shouldberestricted(45ms)itshouldgetthefilters✓shouldreturn200✓shouldreturnanobject✓shouldclosedbconnectionsGETUSERSCOUNT✓shouldberestricted✓shouldthrowerrorwhenpayloadisnotcorrectitshouldgettheusercount✓shouldreturn200✓shouldreturnanobject✓shouldclosed